local Sys={["fps"]=0,["ping"]=0,["update"]=0};
 
function XBarPing_OnUpdate(this,elapsedTime)
--	ChatFrame1:AddMessage("XBar-Ping : "..elapsedTime);
	Sys["update"]=Sys["update"]+elapsedTime;
	if (Sys["update"]>=1) then
		Sys["update"]=0;
		Sys["fps"]=math.floor(GetFramerate());
		Sys["ping"]=GetPing();
		if (Sys["fps"]<=20.0) then Sys["fps"]="|cffFC2323"..Sys["fps"].."|r";
		elseif (Sys["fps"]<=24.0) then Sys["fps"]="|cffFCFC00"..Sys["fps"].."|r";
		else Sys["fps"]="|cff23FC23"..Sys["fps"].."|r"; end

		if (Sys["ping"]<=50) then Sys["ping"]="|cff23FC23"..Sys["ping"].."|r";
		elseif (Sys["ping"]<=120) then Sys["ping"]="|cffFCFC00"..Sys["ping"].."|r";
		else Sys["ping"]="|cffFC2323"..XBar_SetDecimals(Sys["ping"]).."|r"; end
	--	Output
		local usrtxt={[1]=XBar["PingV1"],[2]=XBar["PingV2"]};
		local output="";
		for i=1,2 do
			usrtxt[i],_=XBar_StrReplace(usrtxt[i],"%[MS%]",Sys["ping"]);
			usrtxt[i],_=XBar_StrReplace(usrtxt[i],"%[FPS%]",Sys["fps"]);
		end
		if (XBar["PingT1"]==true) then output=usrtxt[1]; end
		if (XBar["PingT2"]==true) then
			if (XBar["PingT1"]==true) then output=output.."\n"..usrtxt[2]; else output=usrtxt[2]; end
		end
		XBarPing_F_Text:SetText(output);
	--	EoL
	end
end
